js변수를 css변수로 넘기는 방법은 css-in-js로 변수를 선언하여 변경하는 방법 뿐이다. style:
binding을 이용하면 좀 더 편하게 할 수 있다.
--var-name
이런 형태로 바로 전달할 수 있기는 하나 컴포넌트의 명세가 불분명해지므로 명시적으로 props 선언을 한다.<script>
export let color = 'var(--color-blue-primary)';
export let backgroundColor = 'var(--color-background-black)';
export let borderColor = 'var(--color-background-white)';
</script>
<button
style:color
style:background-color={backgroundColor}
style:--border-color={borderColor}
>
<slot />
</button>
<style>
button {
border-radius: 7px;
border: 2px solid var(--border-color);
height: 42px;
font-size: smaller;
cursor: pointer;
}
</style>